home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / COMMUNIC / 0717.ZIP / MSKERM.BWR < prev    next >
Text File  |  1987-05-24  |  16KB  |  351 lines

  1. BUGS, LIMITATIONS, INCOMPATIBILITES, AND NOTES ON MS-DOS KERMIT 2.29
  2.  
  3. Version 2.29 of MS-DOS was prepared by Prof. Joe R. Doupnik (JRD@USU.BITNET),
  4. Center for Atmospheric and Space Studies, Utah State University, Logan, Utah
  5. 84322 USA, November 1985 - May 1986, based on version 2.28 from Columbia
  6. University, which was prepared by Jeff Damens and Daphne Tzoar.  Joe added his
  7. own code for DOS 2.0 file system support, advanced server functions, myriad
  8. cleanups and bug fixes, several new commands, and he integrated code from James
  9. Harvey of Indiana/Purdue University for VT100 emulation, adding VT102
  10. extensions and much more (like color support) to it in the process.  Joe also
  11. coordinated the prerelease testing of 2.29 on many different MS-DOS systems.
  12. The script facility was a joint effort between Jim Sturdevant and Joe.
  13.  
  14. OUTSTANDING BUGS IN VERSION 2.29:
  15.  
  16. Those marked with "*" are fixed in version 2.29B, which is a test prerelease
  17. of the next real release, 2.30.  Bugs marked with "-" are as yet unfixed.
  18.  
  19. - Attempting to dump the screen to a disk file when the disk is full will
  20.   cause the system to hang (at least on Rainbow, not tested on PC).
  21.  
  22. - Local echo does not work on TI Pro.
  23.  
  24. - Sanyo MBC version doesn't work at 300 baud.
  25.  
  26. * Current packet number is not set back to 0 when a SEND or GET command
  27.   is issued to a remote Kermit server.
  28.  
  29. * Server mode does not always use the requested block-check type.  RECEIVE
  30.   command uses requested-but-not-yet-negotiated block check when sending NAK
  31.   for packet 0.
  32.  
  33. * RECEIVE command fails if it follows a GET which ended with an error message.
  34.  
  35. * SET SEND END-OF-LINE has no effect when sending S-Packet.
  36.  
  37. * SET SEND PADDING and PADC have no effect on S or I packets.
  38.  
  39. * Occasional transmission of a null (ASCII 0) flow control character prevents
  40.   file transfer with certain half duplex systems (like IBM mainframes in
  41.   linemode).
  42.  
  43. * Hayes 1200B internal modem hangs up at inconvenient times (IBM PC).
  44.  
  45. * Certain other internal modems can't be used at all.
  46.  
  47. * Pressing PrintScreen on the Rainbow during CONNECT while in 132 column
  48.   mode produces garbage on the printer and eventually hangs the Rainbow.  The
  49.   fix for this is written, but too long to include in .BWR file.
  50.  
  51. * Receive command fails if followed a Get which ended with an error message.
  52.  
  53. * Does not use user-sepcified EOL when sending S-packet.
  54.  
  55. * SET BAUD doesn't work on Wang PC.
  56.  
  57. * REMOTE KERMIT packet incorrectly constructed on Rainbow (but not IBM PC)
  58.  
  59.  
  60. LIMITATIONS (those marked with "*" are lifted in 2.29B)
  61.  
  62. - Interaction between MS-Kermit and various terminate-and-stay-resident
  63.   (TSR) programs is necessarily unpredictable, but there will often be minor
  64.   problems.  Certain console or graphics drivers might interfere with the file
  65.   transfer display, etc.
  66.  
  67. - The communication port uses either 8 data bits, no parity, or else 7 data
  68.   bits and 1 parity bit.  No other combinations are supported.
  69.  
  70. - On the IBM PC or compatibles, MS-Kermit access the serial port hardware and
  71.   associated interrupts directly.  This prevents its use with serial devices
  72.   accessed through NETBIOS or other mechanisms, e.g. the Token Ring
  73.   asynchronous communication server.  (A separate version of MS-Kermit, called
  74.   MSVCLO, can be used for this -- it is identical to the IBM PC version, except
  75.   that it uses Bios calls for port i/o).
  76.  
  77. * Version 2.29 of MS-Kermit ran slowly during file transfer if TIMER ON,
  78.   and much faster if TIMER OFF.  In version 2.29B the timer imposes no such
  79.   overhead.
  80.  
  81. - Kermit cannot be used to transfer files when the remote system is MS-DOS
  82.   that has been CTTY'd to the communication port.  This is because of DOS
  83.   limitations.  Use batch file to do: CTTY CON, KERMIT SERVER, CTTY COM1.
  84.  
  85. - System will hang if you run Kermit while CTTY'd to COMx and then CONNECT.
  86.  
  87. - When used in remote mode, even when not CTTY'd, e.g. as a server, MS-DOS
  88.   Kermit can become stuck in the DOS critical error handler, in which it has
  89.   issued its familiar "Abort, Ignore, Retry?" message on its screen, and is
  90.   waiting for a response from its own keyboard.  This is a DOS feature.
  91.  
  92. * The MS-DOS Kermit server can become stuck if you give it the REMOTE SPACE
  93.   command, because it simply runs CHKDSK and sends you its output.  Sometimes
  94.   CHKDSK will notice something wrong with the disk and ask you if you want it
  95.   to be fixed.
  96.  
  97. - The IBM PC implementation of VT102 emulation has several restrictions:
  98.   no 132-column mode, no smooth scroll, no ENQ/Answerback, no alternate
  99.   character ROMs, no confidence tests.  Double height/width characters are
  100.   simulated.
  101.  
  102. - The IBM PC VT102 emulator does not fully support the EGA 43-line mode.
  103.  
  104. - On the IBM family, repeated SET MODE OFF, SET MODE ON sequences can produce a
  105.   permanent, normal-video mode line.
  106.  
  107. - On the IBM family, SET DEBUG ON not only selects packet display during file
  108.   transfer, but also control-character/escape-sequence display during
  109.   terminal emulation.  There are no separate controls for these functions.
  110.   During terminal emulation SET DEBUG ON also prevents the emulator from acting
  111.   upon received escape sequences; that is, the emulation becomes a dumb tty,
  112.   and the escape sequences are printed.
  113.  
  114. - On the IBM PC, Kermit only knows how to use COM1 and COM2.  Additional
  115.   ports do not have standard addresses.
  116.  
  117. - The SHOW command does not display all the SET parameters, as you might
  118.   expect.  STATUS must be used to do that.  SHOW is used for key and macro
  119.   definitions.
  120.  
  121. - There's no command to display the pathname of the current default disk
  122.   and directory, or the name of the log file.
  123.  
  124. - The LOG command, when used during file transfer in conjunction with SET DEBUG
  125.   ON, log reception beginning when a good start of packet character has
  126.   arrived.  This tends to defeat the purpose of a debugging log, since there's
  127.   no way to find out why some packets were bad.
  128.  
  129. - On systems that use "grey keys" or F-keys for functions like BREAK, modeline
  130.   toggle, screen scroll, or emulator select/reset, there is no way to move
  131.   these functions to other keys.  Therefore, if "traditional" (e.g. keypad)
  132.   values are to be assigned to these keys using SET KEY, their built-in Kermit
  133.   functions are lost (this will be corrected in 2.30).
  134.  
  135. - Certain keys on the IBM PC keyboard produce no scan code detectable by
  136.   Kermit, e.g. keypad 5, control-5, etc., and therefore cannot be redefined
  137.   with SET KEY SCAN.  Additional keys on the new "enhanced" keyboard
  138.   (such as F11 and F12) are said to behave similarly.
  139.  
  140. - The screen dump feature currently is implemented on only the IBM, the
  141.   Olivetti M24/ATT 6300 and close relatives, and the Rainbow Kermits; other
  142.   versions produce only a beep. The dump file records only the screen text
  143.   and not the video attributes.
  144.  
  145. - The Server mode screen displays file transfer statistics unless SET REMOTE
  146.   ON or SET DISPLAY QUIET is specified.
  147.  
  148. - In VT102 emulation on the IBM family, receipt of the ESC[4m (turn on
  149.   underscore) command results in reverse video rather than underscore on
  150.   IBM CGA, EGA and PGA color monitors.  This is a limitation of the hardware.
  151.  
  152. - In the VT102 emulation for the IBM family the ANSI printer mechanism does
  153.   not pass escape sequences to the printer. The printer receives essentially
  154.   a copy of part or all of what would be on the screen itself, without
  155.   attributes. Escape sequences are passed to the printer, however, by the
  156.   LOG command and when the printer copying is toggled ON while in connect mode.
  157.  
  158. - On some systems, the message "Undefined baud rate" may appear when program
  159.   is started.  This just means you should issue a SET SPEED command.
  160.  
  161. - Semicolons can not be used in filenames in GET commands from TAKE files,
  162.   because within TAKE files, semicolons are treated as the start of a comment.
  163.  
  164. - Caution should be used when invoking certain terminate-and-stay-resident
  165.   programs while PUSHed from Kermit (e.g. using the PRINT command for the first
  166.   time), as not all of these programs observe proper etiquette for allocating
  167.   and freeing memory.
  168.  
  169. - Each command macro definition is limited to 128 characters in length.
  170.   Longer macros can be formed by chaining (end one definition with a DO
  171.   for the next).
  172.  
  173. - On early (original motherboard & BIOS) PCs, and on systems that mimic them
  174.   (e.g. Compaq), the cursor may assume a strange shape upon return from
  175.   CONNECT.  This is caused by a bug in the early BIOS, which stored cursor
  176.   attributes incorrectly.  See message below for further information.
  177.  
  178. - MS-DOS Kermit cannot read commands from a .BAT file.  It only reads them
  179.   from the keyboard.  It may be run in the batch, but only using command
  180.   line arguments (possibly invoking TAKE files).  MS-Kermit 2.29 issues a
  181.   return code of 0 upon completion.
  182.  
  183. - Clearing a macro by typing an empty DEFINE for it removes its definition
  184.   but does not remove its name from the macro table.
  185.  
  186. - There's no way to remove a key redefinition and restore the default,
  187.   you must SET KEY explicitly to the desired value.
  188.  
  189. - No option for sending filenames with a path descriptor attached implicitly;
  190.   backing up a directory tree with a single SEND command is an example.
  191.   Exported filenames may contain an explicitly typed path prefix.
  192.  
  193. - SET DEST DISK does not redirect output of REMOTE commands to disk -- they
  194.   still come to the screen.  Anyway, there's no syntax for specifying a file
  195.   name.
  196.  
  197. - Kermit can send the command REMOTE KERMIT [command], but it does not support
  198.   its reception (while in server mode).
  199.  
  200. - The PCjr uses Port 2 (its RS-232 port) by default, and there is no support
  201.   for its modem port (COM1).  Similarly for the PC Convertible. (This is
  202.   expected to be improved in release 2.30)
  203.  
  204. - Generic Kermit uses DISPLAY SERIAL as its startup default, because it has
  205.   no knowledge of how to control the display of a "generic" MS-DOS system.
  206.  
  207. - You can't "delete *.*" from within Kermit.
  208.  
  209. - SET LOCAL-ECHO ON doesn't work very well between two micros -- LF is not
  210.   supplied by remote micro when it receives CR.  Workaround: Type CR and ^J
  211.   at the end of each line.
  212.  
  213. - IBM PC has misc minor problems in H19 emulation (ENQ response, etc).
  214.  
  215.  
  216. INCOMPATIBILITIES WITH PREVIOUS RELEASES:
  217.  
  218. - SET HEATH gone, replaced by SET TERMINAL { NONE, HEATH, VT52, VT102 }
  219. - SET AUTOWRAP gone, replaced by SET TERMINAL WRAP
  220. - SET REMOTE ON/OFF  complemented by SET DISPLAY QUIET/REGULAR/SERIAL.
  221.   SET REMOTE ON is the same as SET DISPLAY QUIET. SERIAL shows file transfer
  222.   statistics in a simple form suitable for printing or speech synthesizers.
  223. - Filename completion (recognition) no longer works, because of new support
  224.   for fully qualified DOS 2.0 pathnames.
  225.  
  226. PLANS:
  227.  
  228. There are two major goals for future releases, and work on them might proceed
  229. in parallel.
  230.  
  231. - Integrate MS-DOS Kermit with C-Kermit.  When that is done, most of the bugs
  232.   and limitations related to protocol and command parsing should disappear, and
  233.   new protocol features like sliding windows and extended length packets can be
  234.   added easily.  The plan is to write ckdtio and ckdfio (d for DOS) modules to
  235.   supply the system-dependent functions, and to keep the current assembly
  236.   language terminal emulation code so as not to sacrifice the good i/o
  237.   performance (interrupt driven), terminal emulation, screen rollback, key
  238.   redefinition, printer control, and other features that we have now.
  239.  
  240. - Missing features still need to be added to MASM version.
  241.   
  242.   Version 2.29B includes the following new features:
  243.  
  244.     TRANSMIT command for raw file upload
  245.     Login scripts, as described in the Kermit book
  246.     VT102 ANSI printer control
  247.     Control over display of 8-bit characters during CONNECT
  248.     Extended-Length Packets
  249.  
  250.   Version 2.30 will include:
  251.  
  252.     File transfer statistics report (2.30)
  253.     Ability of IBM version to use NETBIOS asynchronous communication server
  254.     A way to assign Kermit functions (scroll, etc) to arbitrary keys (2.30)
  255.  
  256. WARNING: The key definition commands to be supplied with version 2.30, because
  257. of their expanded flexibility, will be incompatible in some ways with their
  258. counterparts in earlier releases.  Command files containing SET KEY commands
  259. may have to be modified.  A conversion guide will be supplied.
  260.  
  261.   Future releases may include:
  262.  
  263.     An expanded script facility, with variables, conditional branching, etc.
  264.     DIAL command, telephone directory
  265.     Transaction file logging
  266.     A way to accept default values for omitted trailing fields in commands.
  267.     A better built-in help facility
  268.     Sliding windows transport protocol
  269.     File Attribute packets
  270.     Tektronix or other graphics terminal emulation (already in TI Pro & Victor)
  271.     Pause at end of screen during local TYPE
  272.     A simple way to make Alt = Meta, without many many SET KEY commands
  273.     Redefinable keys at Kermit-MS> prompt level
  274.     Piped operation a la UNIX (e.g. compress foo.bar | kermit send)
  275.  
  276.   Some of the missing features will come when integration with C Kermit
  277.   takes place.
  278.  
  279.  
  280. IMPLEMENTATION NOTES (from JRD):
  281.  
  282. - Kermit requires from 65 to 100 K bytes of non-contiguous memory to run:
  283.   60+ K bytes contiguous plus several other large blocks dynamically
  284.   allocated by DOS. Space is left for a second copy of Command.com by
  285.   sacrificing screen roll back space (the memory beyond 65 Kb above).
  286. - Kermit captures only the Control-Break interrupt, Int 23H and the DOS
  287.   Critical Error interrupt, Int 24H.
  288. - Kermit does not probe the keyboard typeahead buffer.
  289. - The VT102 emulator in IBM Kermit writes directly to screen memory but does so
  290.   in a "TopView Aware" manner to successfully run in windowing environments
  291.   such as TopView, Windows, and DESQview. It accepts text pasted from a window.
  292. - Kermit is aware of the IBM Monochrome, CGA, and EGA display adaptors.
  293. - Kermit expects the video mode to be TEXT, not graphics.
  294. - Kermit makes many Bios calls, principally to the screen and keyboard.
  295. - All disk filenames are heavily checked; disk i/o uses only DOS calls.
  296. - Kermit directly accesses the serial port UART 8250 chip and that port
  297.   is interrupt driven for received characters. DTR and RTS are left
  298.   high when Kermit exits but otherwise the port state is restored.
  299. - The Hangup command will force DTR and RTS to be low (off).
  300. - Awareness of the IBM PC Network adaptor is present but deactivated.
  301.  
  302. ------------------------------
  303.  
  304. Date: 7 FEB 86 10:51-MST
  305. From: JRD@USU
  306. Subject: Dashed Cursor Problem on IBM PC
  307.  
  308. In response to the minus sign as a cursor problem reported in recent Digests
  309. the PC Tech Journal article discussing the problem is "The Dashed Cursor",
  310. by Paul Pierce, PC Tech J., Dec. 1985, page 47. His code goes like this:
  311. ;
  312. ; Program FIXCURS.ASM by Paul Pierce, PC Tech Journal, Dec 1985, page 47.
  313. ;
  314. code    segment public 'code'
  315.         assume cs:code, ds:code, es:nothing
  316. ;
  317. ;       This program is set up to be made into a COM file
  318. ;
  319.         org     100H
  320. ;
  321. ; First check for the monochrome adapter.
  322. ;
  323. start:  int     11H             ; set ax = equipment flag
  324.         and     al,30H          ; mask off all but video bits
  325.         cmp     al,30H          ; test for monochrome adapter
  326.         jne     exit            ; jump if not monochrome
  327. ;
  328. ; Now check for incorrect cursor mode returned from the Bios
  329. ;
  330.         mov     ah,3            ; call bios to get cursor type
  331.         int     10H             ;
  332.         cmp     cx,0607H        ; check for invalid (color) type
  333.         jne     exit            ; jump if not a bad value
  334. ;
  335. ; At this point we know that the monochrome adapter is in use and that
  336. ; the bios cursor mode is incorrect.
  337. ; Call the bios to set the cursor type correctly.
  338. ;
  339.         mov     cx,080cH        ; use correct cursor type
  340.         mov     ah,1            ; call bios to set cursor type
  341.         int     10H
  342.  
  343. exit:   mov     ah,0            ; exit back to DOS
  344.         int     21H
  345.  
  346. code    ends
  347.         end     start
  348.  
  349. ------------------------------
  350.